<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <!--
        用script标签的src引入js文件，不算是模块，只有用require引入才是模块。
        如果js文件被node启动了，默认在js语句外面包裹了一层函数，
        function(exports,require,module,__filename,__dirname){}
        exprots:{}是一个空对象
        require：是一个函数
        module：是一个对象，对象中有exprots，默认的值为一个空对象
        __filename:表示文件的绝对路径
        __dirname:表示文件夹的绝对路径
        这些都是局部变量

      -->
      <!-- 真正暴露的是module.exports指向的对象，exports和module.exports默认指向的是同一个地址，如果exports或module.exports赋值了一个新对象，exports或module.exports指向的地址就变了，此时exports就暴露不了任何对象了-->
      <!-- commonjs模块化的使用：
        1.有核心模块（node.js的核心模块中找）和第三方模块（node__modules的文件夹里找）和自定义模块，引入自定义模块，一定要加路径./
        2.引入用require(xxx)，暴露用module.exports=value,或者exports.xxx=value
        3.要有一个入口文件index.js，在写好的其他js文件中把方法暴露出来，在入口文件中用require进行引入
        4.想要这些js文件在浏览器中可以实现，先在全局（一般在全局下载的工具包都是一个命令）下载一个broserify工具，把入口文件进行编译打包，命令browserify ./index.js（使用commonjs规范的代码） -o ./build.js，这样编译好的build.js就是编译好的js文件
        5.在html文件中用script标签引入这个编译好的build.js文件，就可以在浏览器上使用了
    
        -->
</body>
</html>